Systems and methods for presenting an interactive user interface

ABSTRACT

An interactive system controlled by a TV viewer remote control transmitter that displays portions of a scroll grid program guide on the viewer&#39;s display screen is provided. The system is responsive to variable control signals from a remote to advance, back up, and freeze a scroll output picture image signal. It is also responsive to directional control signals from the remote to reposition a “highlight” background to corresponding program data slots on a scroll grid and to display further program information corresponding to the program of the data slot shown in “highlight.” In addition, it is responsive to further directional control signals to redraw the grid to display earlier or later time segment program data than is normally displayed on the viewer&#39;s screen.

CROSS REFERENCE TO RELATED APPLICATIONS

This is a continuation of U.S. application Ser. No. 09/227,481, filed Jan. 7, 1999, now U.S. Pat. No. 6,072,460 which is a continuation of U.S. application Ser. No. 08/763,615, filed Dec. 11, 1996, now U.S. Pat. No. 5,892,498, which is a continuation of U.S. application Ser. No. 08/225,246, filed Apr. 8, 1994, now abandoned.

BACKGROUND OF THE INVENTION

This invention relates generally to interactive video communications and more particularly concerns viewer controlled channel programming guide displays.

Channel programming guide information is presently displayed to the home TV viewer in a non-interactive scroll. When the home viewer selects the channel programming guide display, the display is viewed as it is transmitted from the cable network. Consequently, the viewer may have to wait for almost the entire running time of the scroll for a desired segment of the scroll to be displayed on the viewer's screen. Furthermore, the program information on the scroll is changed at discrete time intervals selected by the cable provider. Consequently, only the programming information included in the discrete time interval of the transmitted scroll can be observed by the home viewer. Later programming information will become available to the viewer only when that programming information comes into the particular discrete time interval selected for transmission by the cable provider. In other words, the viewer has no alternative but to wait for the scroll to display the desired programming time slot and, when it is displayed, can view it only for as long as that scroll segment remains on the screen during its normal running time. Any distraction at this juncture starts a new waiting period. It is, therefore, an object of this invention to provide a process and in-home scrolling hardware by which a home viewer may interactively control a channel programming guide. Another object of this invention is to provide a process and in-home scrolling hardware in which the scroll can be stopped by the home viewer. Another object of this invention is to provide a process and in-home scrolling hardware by which a home viewer may forward scroll the channel programming guide. Another object of this invention is to provide a process and in-home scrolling hardware by which a home viewer may reverse scroll the channel program guide. Another object of this invention is to provide a process and in-home scrolling hardware by which a home viewer may select a discrete time interval of channel program guide information from a plurality of discrete time intervals of such information.

SUMMARY OF THE INVENTION

In accordance with the invention, a system interactively controlled by a TV viewer remote control transmitter displays portions of a scroll program guide on the viewer's display screen. A tuner receives TV radio frequency or optical transmission signals in a plurality of cable channels and passes a viewer usable signal of a selected one of the channels to a signal combiner. A computer receives any of a plurality of control signals from the TV viewer remote control transmitter. It also controls the tuner to pass the viewer usable signal in response to one of the control signals from the TV viewer remote control transmitter. It also receives and stores a scroll input picture image signal containing local program guide data and generates a scroll output picture image signal consisting of at least a portion of the scroll input picture image signal. The signal combiner combines the viewer usable signal from the tuner with the output picture image signal from the computer to provide a display signal for input to the viewer's display screen. The computer is responsive to a “forward” control signal from the remote to advance the scroll output picture image signal, to a “reverse” control signal from the remote to back up the scroll output picture image signal and to a “stop” control signal from the remote to freeze the scroll output picture image signal. It is also responsive to directional control signals from the remote to reposition a “highlight” background to corresponding program data slots on the scroll grid and to display further program information corresponding to the program of the data slot shown in “highlight”. In addition, it is responsive to further directional control signals to redraw the grid to display earlier or later time segment program data than is normally displayed on the viewer's screen.

BRIEF DESCRIPTION OF THE DRAWINGS

Other objects and advantages of the invention will become apparent upon reading the following detailed description and upon reference to the drawings in which:

FIG. 1 is a block diagram illustrating a preferred embodiment of the hardware of the interactive scroll program guide;

FIG. 2 is a flow chart illustrating the basic process and options of the interactive scroll program guide;

FIG. 3 is a flow chart illustrating further options of the interactive scroll program guide;

FIG. 4 is a representation of an interactive scroll program guide display for a selected date and time;

FIG. 5 is a representation of the interactive scroll program guide display of FIG. 4 in a “scrolled down” condition relative to FIG. 4;

FIG. 6 is a representation of the interactive scroll program guide display of FIG. 5 in a “highlighted” condition relative to FIG. 5; and

FIG. 7 is a representation of the interactive scroll program guide display showing selected information describing the program highlighted in FIG. 6.

While the invention will be described in connection with a preferred embodiment and process, it will be understood that it is not intended to limit the invention to that embodiment or process. On the contrary, it is intended to cover all alternatives, modifications and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims.

DETAILED DESCRIPTION OF THE INVENTION

Turning first to FIG. 1, the components of the interactive scroll program guide are illustrated. A computer 11 having a command information receiver, preferably an infrared or radio frequency receiver 13, provides a control signal 15 to a tuner 17 and a picture image signal 19 to a digital video board 21. The tuner 17 converts or demodulates radio frequencies or optical transmission to a signal usable by the viewer to output a signal 23 selected from a plurality of signals 25 input to the tuner 17 from the cable source (not shown), typically frequency division multiplexed video, audio and data signals transmitted via a coaxial cable, over-the-air radio frequencies or fiber optics. The digital video board 21 converts digital data into a video signal. The tuner output signal 23 is superimposed on or combined with a scroll information picture image signal 27 from the digital video board 21 in a genlock signal combiner or overlayer 29. The combined scroll and TV picture signal 31 is then displayed on a video signal display device such as the display screen 33 of the viewer's television. The viewer sends commands to the receiver 13 to control the operation of the computer 11 by the use of a remote control transmitter, preferably an infrared or radio frequency transmitter 35. The computer 11 is based on a microprocessor and may utilize random access (RAM) and/or read only (ROM) memory. The software necessary to operate the microprocessor may be embedded in the device or downloaded via the cable system to the device.

The above described interactive scroll program guide components operate in response to the control of the computer 11. As shown in FIG. 2, when the home viewer elects to view the scroll mode 51 by operation of the viewer remote control 35, the computer 11 automatically resets to the top of the grid 53 so as to set the display of the scroll at its beginning point for viewing. The computer 11 then provides a control signal 15 to the tuner 17 to select the channel designated by the home viewer's cable system as its programming data channel 55. The computer 11 further causes the portion of the display 33 on which the program data is to appear to be masked 57. With the existing program guide area of the display masked, the computer 11 causes the picture image signal 19 to be generated, thus causing the program guide grid to be drawn 59. With the grid drawn, the computer 11 further initiates operation of a millisecond timer 61 which causes the picture image signal 19 to be fired in millisecond intervals. The operation of the millisecond timer 61 adjusts the speed of the scroll by changing the number of lines of pixels moved at one time. When a timer interrupt 63 permits a change, the software scrolls the grid by causing deletion of the forward lines 65, copying of the rest of the lines forward to overlay the deleted lines 67 and addition of new lines to the rear of the grid 69. This is repeated every few milliseconds so that a smooth scroll is accomplished.

Each text line is generated when the first pixel line in that text line is needed. This text line is stored in a memory buffer until all of its pixel lines are used and then is replaced by the next text line. This allows the pixels to be used without having to regenerate them each time the scroll is updated. When the last text line is reached, the first text line is generated and added onto the screen in a circular fashion. Thus, the scroll becomes a continuous loop. Typically, the scroll will be changed in one to three pixel line increments and preferably in two pixel line increments for a display having an approximately two hundred pixel line scroll. The current text line is remembered and, if the viewer stops the grid, the current text line is positioned at the top of the grid and the scroll timer halted. Looking at FIG. 4, the viewer display screen 33 displays, on approximately its top half, the display defined by the viewer usable signal 23 passed by the tuner 17 (display not shown). It also displays, on approximately the bottom half, a first horizontal data slot divided into vertical columns indicating the proper date 201 and second the program times, as shown, in two half hour increments 203 and 205. Second, third and fourth horizontal data slots are divided into a vertical column showing sequential channel identifications 207, 209 and 211 and into other vertical columns showing program identification data for corresponding channels and times 213, 215 and 217. As shown, the scroll has advanced to illustrate data for channels 15 MAX on slots 207 and 213, 16 ENCORE in slots 209 and 215 and 17 TJC in slots 211 and 217. As scrolling continues the channel 15 MAX data will be removed, the channel 16 ENCORE data and 17 TJC data will move up to slots 207 and 213 and 209 and 215, respectively, channel data will be presented in the lower slots 211 and 217. When the scroll is reversed, the above described process is executed in opposite fashion. That is, the rear bit lines are deleted, the bit lines are moved rearwardly and the last bit lines are added to the front of the grid. Looking at FIG. 5, the scroll of FIG. 4 has been reversed so that the channel 17 TJC and channel 16 ENCORE data have been removed, the channel 15 MAX data has moved down to the lower slots 211 and 217 and channel 14 HBO and 13 PREV data have been added to the slots 209 and 215 and 207 and 213, respectively.

In one preferred operating mode of the invention, the “back arrow” key of the remote would be used for reverse scrolling operation, the “forward arrow” key of the remote would be used for forward scrolling, the “enter” key of the remote would be used to stop the scroll, the “right arrow” key of the remote would be used to forward the time slot, the “left arrow” key of the remote would be used to back up the time slot, the “stop” key of the remote would be used to exit and the “power” key of the remote would be used as an off switch.

The computer routine will inquire as to whether one of the computer keys used in the routine has been pressed 71. If the answer is “NO”, the routine returns to point 73 to maintain the inquiry. If the answer is “YES”, the routine continues via another route 75. In the “YES” route 75, the next inquiry may be whether the viewer has selected a user exit 77 by pressing the “stop” key. If the answer to this inquiry is “YES”, the routine returns to the previous menu 79. If the answer to this inquiry is “NO”, the routine may determine if the viewer has selected a scroll reverse direction 81 by pressing the “back arrow” key. If the answer to this inquiry is “YES”, the routine continues through a reversal stage 83 which shifts the pixel rotation as above described and then returns to the routine at point 73 to the key pressed inquiry 71. If the response to the reverse direction inquiry 81 is “NO”, the routine may next inquire whether the viewer has chosen to stop the scroll 85 by pressing the “enter key”. If the response to this inquiry is “YES”, the routine is routed to stop the timer 87 so as to cease the sequence of pixel line rotation. At this point, the routine further directs that the grid be redrawn to the current top channel 89 so as to index the grid to display complete programming data for the top channel displayed on the grid. With the grid thus redrawn, the routine may place the system into a highlight mode 91 to be hereafter explained. In any event, the redrawn grid will be displayed until the viewer selects a new mode of operation.

The user may also select a different programming time slot, thus changing the program information displayed. That is, a different picture image signal 19 corresponding to the time slot selected by the viewer will be generated by the computer 11 for display. The entire grid will thus be redrawn for the time slot chosen. Thus, if the response to the stop the scroll inquiry 85 is “NO”, the routine may continue to a time forward inquiry 93. At this point in the routine, the screen display continues as shown in FIG. 4, with the channel identification and program identification slots scrolling in a normal forward sequence as hereinbefore described. If the viewer has pressed the time forward or “right arrow” key, a “YES” response to the time forward inquiry 93 will cause the time slots to be advanced by a predetermined increment time 95 and the grid redrawn 100 so that the scroll will display information relevant to a different time slot. The time slots can be arranged in any predetermined increments, the increments normally being chosen in one hour segments. With the grid redrawn, the routine returns through point 73 to the key pressed inquiry 71 for a repeat of the routine. If the answer to the time forward inquiry 93 is “NO”, the routine continues on to a time backward inquiry 97. If the time backward or “left arrow” key has been depressed, a “YES” response will cause the time slots to be backed up by a predetermined decrement time 99 and the grid redrawn 100 to the next earlier time segment in opposite fashion as for the increment time 95 portion of the routine. With the grid redrawn 100, the routine then returns through point 73 to the key pressed inquiry 71 to be repeated. If the answer to the time backward inquiry 97 is “NO”, the routine returns through the point 73 to the key pressed inquiry 71 to again continue the routine.

Turning now to FIG. 3, another routine option is presented beginning with the highlight mode 91 earlier discussed in relation to FIG. 2. If the viewer has proceeded through the stop scroll inquiry 85 with a “YES” response, the top program identification slot 213 will be automatically drawn highlighted 101 by a background color different than the remainder of the grid. At this point, the viewer may select one of several keys. For example, the “enter” key would indicate a command to display the first program information highlighted. Alternatively, the “up arrow”, “down arrow”, “right arrow” and “left arrow” would indicate directional movements of the highlight condition in reference to the program information then highlighted. For example, in FIG. 6, the viewer has opted to “down arrow” the highlight to the second program identification slot 215. Finally, the “exit” key would be used to indicate a desire to exit the highlight routine of the program. If, at a key pressed inquiry 103, the answer is “NO”, the routine returns through point 105 to maintain the key pressed inquiry 103. If, however, the answer is “YES”, the routine proceeds to an “enter key” inquiry 107. If the answer to this inquiry is “YES”, the routine continues to the display program information stage 109 so that specific information regarding the highlighted program will be displayed on the screen as shown in FIG. 7. The program would then continue to another key pressed inquiry 111. If the answer to this inquiry is “YES”, this will indicate the desire of the viewer to exit the display of that particular selected information and the routine is returned through point 105 to the earlier key pressed inquiry 103 to continue the highlight routine. If the answer to the key pressed inquiry 111 is “NO”, the routine returns to the same key pressed inquiry 111 to maintain the display presently existing for the viewer. If the response to the enter key inquiry 107 is “NO”, the routine proceeds to a direction key inquiry 113. If the answer to this inquiry is “YES”, the highlight will move in the direction of the key pressed 115 as above described and the grid will be redrawn 117 to show the highlight moved. With the highlight so moved, the routine will continue through point 105 to the key pressed inquiry 103 for continuance of the highlight routine. If the response to the direction key inquiry 113 is “NO”, the routine will proceed to an exit key inquiry 119. If the answer to the exit key inquiry 119 is “YES”, the routine will exit back to the user selection or scroll mode 51 shown in FIG. 2. If the answer to the exit key inquiry 119 is “NO”, the routine will continue through point 105 to the key pressed inquiry 103 for continuation of the highlight routine.

Thus, each individual viewer will be provided with an interactive scroll program guide which can be programmed at intervals by the cable provider to provide programming data for a multiplicity of viewing time segments. The home viewer can in turn interactively determine whether the scroll of data should be forwarded, reversed, stopped or changed as to the time displayed. In addition, the viewer may select to highlight certain data or to display additional information relevant to a selected program.

Thus, it is apparent that there has been provided, in accordance with the invention, an interactive scroll program guide that fully satisfies the objects, aims and advantages set forth above. While the invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art and in light of the foregoing description. Accordingly, it is intended to embrace all such alternatives, modifications and variations as fall within the spirit of the appended claims. 

What is claimed is:
 1. A method for invoking an interactive user interface, comprising: receiving a user interface invocation command from a user; invoking the interactive user interface in response to receipt of the user interface invocation command so that a user interface display is presented to the user; tuning to a television channel in response to the user invoking the interactive user interface, wherein the television channel comprises programming data channel videos; displaying at least a portion of the television channel; and causing the interactive user interface to be displayed as an automatically scrolling grid of program guide data on one portion of a display and the programming data channel videos to be displayed on another portion of the display.
 2. The method of claim 1 further comprising enabling the user to adjust how quickly the automatically scrolling grid is scrolled.
 3. A method for invoking an interactive user interface, comprising: receiving a user interface invocation command from a user; invoking the interactive user interface in response to receipt of the user interface invocation command so that a user interface display is presented to the user; tuning to a television channel in response to the user invoking the interactive user interface, wherein the television program channel comprises programming data channel data; displaying at least a portion of the television channel; and causing the programming data channel data to be masked when the interactive user interface and the at least a portion of the television channel are displayed.
 4. A method for invoking an interactive user interface, comprising: receiving a user interface invocation command from a user; invoking the interactive user interface in response to receipt of the user interface invocation command so that a user interface display is presented to the user; tuning to a television channel in response to the user invoking the interactive user interface; displaying at least a portion of the television channel; causing the interactive user interface to be displayed as an automatically scrolling grid containing a plurality of time slots; and enabling the user to advance the grid by at least one of the time slots.
 5. A method for invoking an interactive user interface, comprising: receiving a user interface invocation command from a user; invoking the interactive user interface in response to receipt of the user interface invocation command so that a user interface display is presented to the user; tuning to a television channel in response to the user invoking the interactive user interface, displaying at least a portion of the television channel; causing the interactive user interface to be displayed as an automatically scrolling grid containing a plurality of time slots; and enabling the user to move the grid backward by at least one of the time slots.
 6. A method for invoking an interactive user interface, comprising: receiving a user interface invocation command from a user; invoking the interactive user interface in response to receipt of the user interface invocation command so that a user interface display is presented to the user; tuning to a television channel in response to the user invoking the interactive user interface, displaying at least a portion of the television channel; causing the interactive user interface to be displayed as an automatically scrolling grid; and enabling the user to control in which direction the grid scrolls.
 7. A method for invoking an interactive user interface, comprising: receiving a user interface invocation command from a user; invoking the interactive user interface in response to receipt of the user interface invocation command so that a user interface display is presented to the user; tuning to a television channel in response to the user invoking the interactive user interface; displaying at least a portion of the television channel; causing the interactive user interface to be displayed as an automatically scrolling grid; and enabling the user to stop the grid from scrolling.
 8. A method for invoking an interactive user interface, comprising: receiving a user interface invocation command from a user; invoking the interactive user interface in response to receipt of the user interface invocation command so that a user interface display is presented to the user; tuning to a television channel in response to the user invoking the interactive user interface; displaying at least a portion of the television channel; enabling the user to select an item of program guide data in the interactive user interface; and causing additional information on the selected item to be displayed.
 9. A method for invoking an interactive user interface, comprising: receiving a user interface invocation command from a user; invoking the interactive user interface in response to receipt of the user interface invocation command so that a user interface display is presented to the user; tuning to a television channel in response to the user invoking the interactive user interface; displaying at least a portion of the television channel; causing the interactive user interface to be displayed as an automatically scrolling grid; and enabling a user to enter a highlight mode in which a portion of the grid corresponding to a selected television program is highlighted.
 10. The method of claim 9 further comprising causing information related to the selected television program to be displayed.
 11. The method of claim 9 further comprising enabling the user to move the highlighted portion of the grid.
 12. The method of claim 9 further comprising enabling the user to exit the highlight mode.
 13. A system for invoking an interactive user interface, comprising: a user input device that receives a user interface invocation command from a user; a computer that invokes the interactive user interface in response to receipt of the user interface invocation command so that a user interface display is presented to the user; a tuner that tunes to a television channel in response to the user invoking the interactive user interface, wherein the television channel comprises programming data channel videos; and a display that displays at least a portion of the television channel; wherein the computer also causes the interactive user interface to be displayed as an automatically scrolling grid of program guide data on one portion of a display and the programming data channel videos to be displayed on another portion of the display.
 14. The system of claim 13 further comprising a remote control that enables the user to adjust how quickly the automatically scrolling grid is scrolled.
 15. A system for invoking an interactive user interface, comprising: a user input device that receives a user interface invocation command from a user; a computer that invokes the interactive user interface in response to receipt of the user interface invocation command so that a user interface display is presented to the user; a tuner that tunes to a television channel in response to the user invoking the interactive user interface, wherein the television channel comprises programming data channel data; and a display that displays at least a portion of the television channel; wherein the computer also causes the programming data channel data to be masked when the interactive user interface and the at least a portion of the television channel are displayed.
 16. A system for invoking an interactive user interface, comprising: a user input device that receives a user interface invocation command from a user; a computer that invokes the interactive user interface in response to receipt of the user interface invocation command so that a user interface display is presented to the user; a tuner that tunes to a television channel in response to the user invoking the interactive user interface, wherein the television channel comprises programming data channel videos; and a display that displays at least a portion of the television channel; wherein the computer also causes the interactive user interface to be displayed as an automatically scrolling grid containing a plurality of time slots, and wherein the system further comprises a remote control that enables the user to advance the grid by at least one of the time slots.
 17. A system for invoking an interactive user interface, comprising: a user input device that receives a user interface invocation command from a user; a computer that invokes the interactive user interface in response to receipt of the user interface invocation command so that a user interface display is presented to the user; a tuner that tunes to a television channel in response to the user invoking the interactive user interface; and a display that displays at least a portion of the television channel; wherein the computer also causes the interactive user interface to be displayed as an automatically scrolling grid containing a plurality of time slots, and wherein the system further comprises a remote control that enables the user to move the grid backward by at least one of the time slots.
 18. A system for invoking an interactive user interface, comprising: a user input device that receives a user interface invocation command from a user; a computer that invokes the interactive user interface in response to receipt of the user interface invocation command so that a user interface display is presented to the user; a tuner that tunes to a television channel in response to the user invoking the interactive user interface; and a display that displays at least a portion of the television channel; wherein the computer also causes the interactive user interface to be displayed as an automatically scrolling grid, and wherein the system further comprises a remote control that enables the user to control in which direction the grid scrolls.
 19. A system for invoking an interactive user interface, comprising: a user input device that receives a user interface invocation command from a user; a computer that invokes the interactive user interface in response to receipt of the user interface invocation command so that a user interface display is presented to the user; a tuner that tunes to a television channel in response to the user invoking the interactive user interface; and a display that displays at least a portion of the television channel; wherein the computer also causes the interactive user interface to be displayed as an automatically scrolling grid, and wherein the system further comprises a remote control that enables the user to stop he grid from scrolling.
 20. A system for invoking an interactive user interface, comprising: a user input device that receives a user interface invocation command from a user; a computer that invokes the interactive user interface in response to receipt of the user interface invocation command so that a user interface display is presented to the user; a tuner that tunes to a television channel in response to the user invoking the interactive user interface; a display that displays at least a portion of the television channel; and a remote control that enables the user to select an item of program guide data from the interactive user interface, and wherein the computer also causes additional information on the selected item to be displayed.
 21. A system for invoking an interactive user interface, comprising: a user input device that receives a user interface invocation command from a user; a computer that invokes the interactive user interface in response to receipt of the user interface invocation command so that a user interface display is presented to the user; a tuner that tunes to a television channel in response to the user invoking the interactive user interface; and a display that displays at least a portion of the television channel; wherein the computer also causes the interactive user interface to be displayed as a grid, and the system further comprises a remote control that enables a user to enter a highlight mode in which a portion of the grid corresponding to a selected television program is highlighted.
 22. The system of claim 21 wherein the computer also causes information related to the selected television program to be displayed.
 23. The system of claim 21 wherein the remote control also enables the user to move the highlighted portion of the grid.
 24. The system of claim 21 wherein the remote control also enables the user to exit the highlight mode. 